﻿Public Class xtf_ABMensayo02


    Dim ulg_row As DataRow
    Dim obj_ensayo02 As cls_ensayo02_ = Nothing
    Dim dtt_detalle As New DataTable
    Public Sub New()
        InitializeComponent()


        Cargarcliente_()
        Cargarcentrocostoorden_()
        'Cargarequipo_()
        Cargarmaterial_()
        Cargarmarca_()
        Cargardiametro_()
        Cargarfuente_()
        Cargartecnicaempleada_()
        Cargarnorma_()
        Cargarcriterio_()
        Cargarunidad_()
        Cargarproceso_()

        CargarInspector_()
        CargarEvaluador_()
        Cargaringresado_()
        CargarRealizado_()

        AgregarValidaciones()



        'Prepara grid y datasource ensayo02detalle----------------------------------------------------
        gdv_detalle_.Tag = New Collections.Generic.List(Of cls_ensayo02detalle_)
        dtt_detalle = New DataTable
        dtt_detalle.Columns.Add("numerosoldadura", GetType(String))
        dtt_detalle.Columns.Add("reparacion", GetType(String))
        dtt_detalle.Columns.Add("posicion", GetType(String))
        dtt_detalle.Columns.Add("proceso1", GetType(String))
        dtt_detalle.Columns.Add("proceso2", GetType(String))
        dtt_detalle.Columns.Add("proceso3", GetType(String))
        dtt_detalle.Columns.Add("porosidad", GetType(Boolean))
        dtt_detalle.Columns.Add("inclusionescoria", GetType(Boolean))
        dtt_detalle.Columns.Add("inclusiontungsteno", GetType(Boolean))
        dtt_detalle.Columns.Add("faltapenetracion", GetType(Boolean))
        dtt_detalle.Columns.Add("faltafusion", GetType(Boolean))
        dtt_detalle.Columns.Add("socavacion", GetType(Boolean))
        dtt_detalle.Columns.Add("concavidad", GetType(Boolean))
        dtt_detalle.Columns.Add("protuberanciainterna", GetType(Boolean))
        dtt_detalle.Columns.Add("deslineacion", GetType(Boolean))
        dtt_detalle.Columns.Add("fisuras", GetType(Boolean))
        dtt_detalle.Columns.Add("peliculadefectuosa", GetType(Boolean))
        dtt_detalle.Columns.Add("resultado", GetType(String))
        dtt_detalle.Columns.Add("ubicaciondefectos", GetType(String))
        dtt_detalle.Columns.Add("referencia", GetType(String))
        dtt_detalle.Columns.Add("Objeto", GetType(cls_ensayo02detalle_))

        gdc_detalle_.DataSource = dtt_detalle
        gdc_detalle_.ForceInitialize()

        gdv_detalle_.PopulateColumns()

        gdv_detalle_.Columns("numerosoldadura").Caption = "Nº de Soldadura"
        gdv_detalle_.Columns("reparacion").Caption = "Reparacion"
        gdv_detalle_.Columns("posicion").Caption = "Posicion"
        gdv_detalle_.Columns("proceso1").Caption = ""
        gdv_detalle_.Columns("proceso2").Caption = ""
        gdv_detalle_.Columns("proceso3").Caption = ""
        gdv_detalle_.Columns("porosidad").Caption = "Porosidad"
        gdv_detalle_.Columns("inclusionescoria").Caption = "Inclusion de Escoria"
        gdv_detalle_.Columns("inclusiontungsteno").Caption = "Inclusion de Tungsteno"
        gdv_detalle_.Columns("faltapenetracion").Caption = "Falta de Penetracion"
        gdv_detalle_.Columns("faltafusion").Caption = "Falta de Fusion"
        gdv_detalle_.Columns("socavacion").Caption = "Socavacion"
        gdv_detalle_.Columns("concavidad").Caption = "Concavidad"
        gdv_detalle_.Columns("protuberanciainterna").Caption = "Protuberancia Interna"
        gdv_detalle_.Columns("deslineacion").Caption = "Desalineacion"
        gdv_detalle_.Columns("fisuras").Caption = "Fisuras"
        gdv_detalle_.Columns("peliculadefectuosa").Caption = "Pelicula Defectuosa"
        gdv_detalle_.Columns("resultado").Caption = "Resultado"
        gdv_detalle_.Columns("ubicaciondefectos").Caption = "Ubicacion de los defectos a reparar"
        gdv_detalle_.Columns("referencia").Caption = "Referencia"
        gdv_detalle_.Columns("Objeto").Visible = False
        'gdv_detalle_.Columns("idproveedor").Visible = False
        '-----------------------------------------------------------------------------------------------


        'TEMPORAL Actualizo la numeracion
        Dim ensayosubtipo As New cls_ensayosubtipo_
        If ensayosubtipo.BuscarXidmodulo("001063001") Then
            txt_informe.EditValue = ensayosubtipo.numero
            txt_informe.Properties.Mask.EditMask = ""
            If ensayosubtipo.ensayotipo.siglaUSA Then txt_informe.Properties.Mask.EditMask &= ensayosubtipo.ensayotipo.sigla
            If ensayosubtipo.ensayotipo.siglaENGUSA Then txt_informe.Properties.Mask.EditMask &= ensayosubtipo.ensayotipo.siglaENG

            If ensayosubtipo.siglaUSA Then txt_informe.Properties.Mask.EditMask &= ensayosubtipo.sigla
            If ensayosubtipo.siglaENGUSA Then txt_informe.Properties.Mask.EditMask &= ensayosubtipo.siglaENG

            txt_informe.Properties.Mask.EditMask &= "-" & ensayosubtipo.numeroformato

            txt_informe.Properties.Mask.UseMaskAsDisplayFormat = True

        End If
        If System.IO.File.Exists(config_empresa.logochico) Then
            Dim logoempresa As Image = Image.FromFile(config_empresa.logochico)
            pic_empresaLogo.Image = logoempresa
        End If
        Dim parametro As New cls_config_parametro_
        parametro.Buscar("ensayo02unidadGeneral")
        cbo_idmaterialespesorunidad.EditValue = parametro.valor
        cbo_idtamañofocalunidad.EditValue = parametro.valor
        cbo_idpantallasdelanterasunidad.EditValue = parametro.valor
        cbo_idpantallastraserasunidad.EditValue = parametro.valor
        cbo_idminimadistanciafuenteunidad.EditValue = parametro.valor
        cbo_idmaximadistaciafuenteunidad.EditValue = parametro.valor
        cbo_iddiametrounidad.EditValue = parametro.valor
        parametro.Buscar("ensayo02unidadActividad")
        cbo_idactividadCIunidad.EditValue = parametro.valor

        parametro.Buscar("ensayo02sobremonta")
        txt_sobremonta.Text = parametro.valor

        FiltrarColumnas(gdv_detalle_)
        PerzonalizarControl(gdc_detalle_)
    End Sub

    Public Overrides Sub CargarObjetos()
        Cargarcliente_()
        Cargarcentrocostoorden_()
        'Cargarequipo_()
        Cargarmaterial_()
        Cargarmarca_()
        Cargardiametro_()
        Cargarfuente_()
        Cargartecnicaempleada_()
        Cargarnorma_()
        Cargarcriterio_()
        Cargarunidad_()
        Cargarproceso_()

        CargarInspector_()
        CargarEvaluador_()
        Cargaringresado_()
        CargarRealizado_()
    End Sub



    Private Sub Cargarequipo_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_idequipo.EditValue
        Dim equipo_ As New cls_equipo_
        If cbo_centrocostoorden.EditValue <> 0 Then
            equipo_.CargarXidobra(cbo_centrocostoorden.EditValue)
            cargarCombo(cbo_idequipo, equipo_.Items)
        Else
            cargarCombo(cbo_idequipo, equipo_.Items)
        End If
        cbo_idequipo.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_idequipo.EditValue)
    End Sub
    Private Sub Cargararea_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_idequipo.EditValue
        Dim area_ As New cls_area_
        If cbo_centrocostoorden.EditValue <> 0 Then
            area_.CargarXidobra(cbo_centrocostoorden.EditValue)
            cargarCombo(cbo_idequipo, area_.Items)
        Else
            cargarCombo(cbo_idequipo, area_.Items)
        End If
        cbo_idequipo.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_idequipo.EditValue)
    End Sub

    Private Sub CargarRealizado_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_realizado.EditValue
        Dim realizado_ As New Collections.Generic.List(Of cls_usuario_)
        Dim usuario_ As New cls_usuario_
        usuario_.CargarXtercerotipo(cls_tercero_.enu_tipotercero.Personal)
        If Not IsNothing(usuario_.Items) Then
            realizado_.AddRange(usuario_.Items)
        End If
        usuario_ = New cls_usuario_
        usuario_.CargarXtercerotipo(cls_tercero_.enu_tipotercero.Proveedor)
        If Not IsNothing(usuario_.Items) Then
            realizado_.AddRange(usuario_.Items)
        End If
        usuario_ = New cls_usuario_
        usuario_.CargarXtercerotipo(cls_tercero_.enu_tipotercero.Usuario)
        If Not IsNothing(usuario_.Items) Then
            realizado_.AddRange(usuario_.Items)
        End If
        If realizado_.Count = 0 Then realizado_ = Nothing
        cargarCombo(cbo_realizado, realizado_, False, True)
        cbo_realizado.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_realizado.EditValue)
    End Sub
    Private Sub Cargaringresado_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_ingresado.EditValue
        Dim ingresado_ As New Collections.Generic.List(Of cls_usuario_)
        Dim usuario_ As New cls_usuario_
        usuario_.CargarXtercerotipo(cls_tercero_.enu_tipotercero.Personal)
        If Not IsNothing(usuario_.Items) Then
            ingresado_.AddRange(usuario_.Items)
        End If
        usuario_ = New cls_usuario_
        usuario_.CargarXtercerotipo(cls_tercero_.enu_tipotercero.Proveedor)
        If Not IsNothing(usuario_.Items) Then
            ingresado_.AddRange(usuario_.Items)
        End If
        usuario_ = New cls_usuario_
        usuario_.CargarXtercerotipo(cls_tercero_.enu_tipotercero.Usuario)
        If Not IsNothing(usuario_.Items) Then
            ingresado_.AddRange(usuario_.Items)
        End If
        If ingresado_.Count = 0 Then ingresado_ = Nothing
        cargarCombo(cbo_ingresado, ingresado_, False, False)
        cbo_ingresado.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_ingresado.EditValue)
    End Sub
    Private Sub CargarInspector_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_inspector.EditValue
        Dim personal_ As New cls_personal_
        Dim parametro As New cls_config_parametro_
        parametro.Buscar("cargoInspector")
        personal_.CargarXidcargo(parametro.valor)
        cargarCombo(cbo_inspector, personal_.Items, False, True)
        cbo_inspector.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_inspector.EditValue)
    End Sub
    Private Sub CargarEvaluador_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_evaluador.EditValue
        Dim personal_ As New cls_personal_
        Dim parametro As New cls_config_parametro_
        parametro.Buscar("cargoEvaluador")
        personal_.CargarXidcargo(parametro.valor)
        cargarCombo(cbo_evaluador, personal_.Items, False, True)
        cbo_evaluador.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_evaluador.EditValue)
    End Sub
    Private Sub Cargarcliente_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_cliente.EditValue
        Dim cliente_ As New cls_cliente_
        cliente_.CargarTodos(True)
        cargarCombo(cbo_cliente, cliente_.Items)
        cbo_cliente.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_cliente.EditValue)
    End Sub
    Private Sub Cargarcentrocostoorden_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_centrocostoorden.EditValue
        Dim centrocostoorden_ As New cls_centrocostoorden_
        centrocostoorden_.CargarXtipo(opt_obra.SelectedIndex)
        cargarCombo(cbo_centrocostoorden, centrocostoorden_.Items, False, True)
        cbo_centrocostoorden.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_centrocostoorden.EditValue)
    End Sub
    Private Sub Cargarmaterial_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_idmaterial.EditValue
        Dim material_ As New cls_material_
        material_.CargarTodos()
        cargarCombo(cbo_idmaterial, material_.Items, True, True)
        cbo_idmaterial.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_idmaterial.EditValue)
    End Sub
    Private Sub Cargarmarca_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_idpelicula.EditValue
        Dim marca_ As New cls_marca_
        marca_.CargarTodos()
        cargarCombo(cbo_idpelicula, marca_.Items, True, True)
        cbo_idpelicula.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_idpelicula.EditValue)
    End Sub
    Private Sub Cargardiametro_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_iddiametro.EditValue
        Dim diametro_ As New cls_diametro_
        diametro_.CargarTodos()
        cargarCombo(cbo_iddiametro, diametro_.Items, True, True)
        cbo_iddiametro.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_iddiametro.EditValue)
    End Sub
   
    Private Sub Cargarfuente_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_idfuente.EditValue
        Dim fuente_ As New cls_fuente_
        fuente_.CargarTodos()
        cargarCombo(cbo_idfuente, fuente_.Items, True, True)
        cbo_idfuente.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_idfuente.EditValue)
    End Sub
    Private Sub Cargartecnicaempleada_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_idtecnicaempleada.EditValue
        Dim tecnicaempleada_ As New cls_tecnicaempleada_
        tecnicaempleada_.CargarTodos()
        cargarCombo(cbo_idtecnicaempleada, tecnicaempleada_.Items, True, True)
        cbo_idtecnicaempleada.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_idtecnicaempleada.EditValue)
    End Sub
    Private Sub Cargarnorma_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_idnormaensayo.EditValue
        Dim norma_ As New cls_criterionorma_
        norma_.CargarNormas()
        cargarCombo(cbo_idnormaensayo, norma_.Items, True, True)
        cbo_idnormaensayo.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_idnormaensayo.EditValue)
    End Sub
    Private Sub Cargarcriterio_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_idcriterioaceptacion.EditValue
        Dim criterio_ As New cls_criterionorma_
        criterio_.CargarCriterios()
        cargarCombo(cbo_idcriterioaceptacion, criterio_.Items, True, True)
        cbo_idcriterioaceptacion.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_idcriterioaceptacion.EditValue)
    End Sub
    Private Sub Cargarproceso_()
        Dim tmp_obj As Integer = 0
        Dim tmp_obj1 As Integer = 0
        Dim tmp_obj2 As Integer = 0
        tmp_obj = cbo_idproceso1.EditValue
        tmp_obj1 = cbo_idproceso2.EditValue
        tmp_obj2 = cbo_idproceso3.EditValue

        Dim proceso_ As New cls_proceso_
        proceso_.CargarTodos()
        cargarCombo(cbo_idproceso1, proceso_.Items, True, True)
        cargarCombo(cbo_idproceso2, proceso_.Items, True, True)
        cargarCombo(cbo_idproceso3, proceso_.Items, True, True)
        cbo_idproceso1.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_idproceso1.EditValue)
        cbo_idproceso2.EditValue = IIf(tmp_obj1 <> 0, tmp_obj1, cbo_idproceso2.EditValue)
        cbo_idproceso3.EditValue = IIf(tmp_obj2 <> 0, tmp_obj2, cbo_idproceso3.EditValue)
        cbo_idproceso2.Enabled = IIf(tmp_obj1 <> 0, True, False)
        cbo_idproceso3.Enabled = IIf(tmp_obj2 <> 0, True, False)
    End Sub
    Private Sub Cargarunidad_()
        Dim tmp_obj As Integer = 0
        Dim tmp_obj1 As Integer = 0
        Dim tmp_obj2 As Integer = 0
        Dim tmp_obj3 As Integer = 0
        Dim tmp_obj4 As Integer = 0
        Dim tmp_obj5 As Integer = 0
        Dim tmp_obj6 As Integer = 0
        Dim tmp_obj7 As Integer = 0
        Dim tmp_obj8 As Integer = 0
        Dim tmp_obj9 As Integer = 0

        tmp_obj = cbo_idmaterialespesorunidad.EditValue
        tmp_obj1 = cbo_idsobremontaunidad.EditValue
        tmp_obj2 = cbo_idsoldaduraespesorunidad.EditValue
        tmp_obj3 = cbo_idactividadCIunidad.EditValue
        tmp_obj4 = cbo_idtamañofocalunidad.EditValue
        tmp_obj5 = cbo_idpantallasdelanterasunidad.EditValue
        tmp_obj6 = cbo_idpantallastraserasunidad.EditValue
        tmp_obj7 = cbo_idminimadistanciafuenteunidad.EditValue
        tmp_obj8 = cbo_idmaximadistaciafuenteunidad.EditValue
        tmp_obj9 = cbo_iddiametrounidad.EditValue

        Dim unidad_ As New cls_unidad_
        unidad_.CargarTodos()

        cargarCombo(cbo_idmaterialespesorunidad, unidad_.Items, True)
        cargarCombo(cbo_idsobremontaunidad, unidad_.Items, True)
        cargarCombo(cbo_idsoldaduraespesorunidad, unidad_.Items, True)
        cargarCombo(cbo_idactividadCIunidad, unidad_.Items, True)
        cargarCombo(cbo_idtamañofocalunidad, unidad_.Items, True)
        cargarCombo(cbo_idpantallasdelanterasunidad, unidad_.Items, True)
        cargarCombo(cbo_idpantallastraserasunidad, unidad_.Items, True)
        cargarCombo(cbo_idminimadistanciafuenteunidad, unidad_.Items, True)
        cargarCombo(cbo_idmaximadistaciafuenteunidad, unidad_.Items, True)
        cargarCombo(cbo_iddiametrounidad, unidad_.Items, True)

        cbo_idmaterialespesorunidad.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_idmaterialespesorunidad.EditValue)
        cbo_idsobremontaunidad.EditValue = IIf(tmp_obj1 <> 0, tmp_obj1, cbo_idsobremontaunidad.EditValue)
        cbo_idsoldaduraespesorunidad.EditValue = IIf(tmp_obj2 <> 0, tmp_obj2, cbo_idsoldaduraespesorunidad.EditValue)
        cbo_idactividadCIunidad.EditValue = IIf(tmp_obj3 <> 0, tmp_obj3, cbo_idactividadCIunidad.EditValue)
        cbo_idtamañofocalunidad.EditValue = IIf(tmp_obj4 <> 0, tmp_obj4, cbo_idtamañofocalunidad.EditValue)
        cbo_idpantallasdelanterasunidad.EditValue = IIf(tmp_obj5 <> 0, tmp_obj5, cbo_idpantallasdelanterasunidad.EditValue)
        cbo_idpantallastraserasunidad.EditValue = IIf(tmp_obj6 <> 0, tmp_obj6, cbo_idpantallastraserasunidad.EditValue)
        cbo_idminimadistanciafuenteunidad.EditValue = IIf(tmp_obj7 <> 0, tmp_obj7, cbo_idminimadistanciafuenteunidad.EditValue)
        cbo_idmaximadistaciafuenteunidad.EditValue = IIf(tmp_obj8 <> 0, tmp_obj8, cbo_idmaximadistaciafuenteunidad.EditValue)
        cbo_iddiametrounidad.EditValue = IIf(tmp_obj9 <> 0, tmp_obj9, cbo_iddiametrounidad.EditValue)
    End Sub
    Public Shadows Sub Nuevo(ByRef listado As Form)
        Try
            frm_listado = listado
            Me.Text = CType(frm_listado, xtf_ListadoBase).lbl_modulo.Text & " - Nuevo"
            obj_ensayo02 = New cls_ensayo02_
            btn_Registro.Enabled = False
            Me.Show()

            dtp_fecha.DateTime = Now
            dtp_fechaEvaluador.DateTime = Now
            dtp_fechaInspector.DateTime = Now
            cbo_ingresado.EditValue = UsuarioLOG.idusuario

        Catch ex As Exception
            'Dim frmError As New frm_ErrorManager(ex.Message)
        End Try
    End Sub

    Public Shadows Sub Modificar(ByRef ensayo02 As cls_ensayo02_, ByRef listado As Form, ByRef row As DataRow)
        If IsNothing(obj_ensayo02) Then
            obj_ensayo02 = New cls_ensayo02_
        End If
        obj_ensayo02 = ensayo02
        frm_listado = listado
        ulg_row = row : bbi_imprimir.Enabled = True

        Me.Text = CType(frm_listado, xtf_ListadoBase).lbl_modulo.Text & " - " & txt_informe.Text
        txt_ID.Text = obj_ensayo02.idensayo02
        txt_informe.Text = obj_ensayo02.numero
        dtp_fecha.DateTime = obj_ensayo02.fecha
        cbo_cliente.EditValue = obj_ensayo02.idcliente

        If Not IsNothing(obj_ensayo02.centrocostoorden) Then
            opt_obra.SelectedIndex = obj_ensayo02.centrocostoorden.tipo
        End If
        cbo_centrocostoorden.EditValue = obj_ensayo02.idobra

        opt_equipotipo.SelectedIndex = obj_ensayo02.equipotipo
        cbo_idequipo.EditValue = obj_ensayo02.idequipo
        cbo_idmaterial.EditValue = obj_ensayo02.idmaterial
        cbo_iddiametro.EditValue = obj_ensayo02.iddiametro
        txt_materialespesor.Text = obj_ensayo02.materialespesor
        txt_sobremonta.Text = obj_ensayo02.sobremonta
        txt_soldaduraespesor.Text = obj_ensayo02.soldaduraespesor
        cbo_idmaterialespesorunidad.EditValue = obj_ensayo02.idmaterialespesorunidad
        cbo_idsobremontaunidad.EditValue = obj_ensayo02.idsobremontaunidad
        cbo_idsoldaduraespesorunidad.EditValue = obj_ensayo02.idsoldaduraespesorunidad
        cbo_idpelicula.EditValue = obj_ensayo02.idpelicula
        cbo_idfuente.EditValue = obj_ensayo02.idfuente
        txt_actividadCI.Text = obj_ensayo02.actividadCI
        cbo_idactividadCIunidad.EditValue = obj_ensayo02.idactividadCIunidad
        txt_tamañofocal.Text = obj_ensayo02.tamañofocal
        cbo_idtamañofocalunidad.EditValue = obj_ensayo02.idtamañofocalunidad
        txt_pantallasdelanteras.Text = obj_ensayo02.pantallasdelanteras
        cbo_idpantallasdelanterasunidad.EditValue = obj_ensayo02.idpantallasdelanterasunidad
        txt_pantallastraseras.Text = obj_ensayo02.pantallastraseras
        cbo_idpantallasdelanterasunidad.EditValue = obj_ensayo02.idpantallastraserasunidad
        cbo_idtecnicaempleada.EditValue = obj_ensayo02.idtecnicaempleada
        opt_ubicacionICI.SelectedIndex = obj_ensayo02.ubicacionICI
        opt_ubicacionmarcadores.SelectedIndex = obj_ensayo02.idubicacionmarcadores
        txt_minimadistanciafuente.Text = obj_ensayo02.minimadistanciafuente
        cbo_idminimadistanciafuenteunidad.EditValue = obj_ensayo02.idminimadistanciafuenteunidad
        txt_maximadistaciafuente.Text = obj_ensayo02.maximadistaciafuente
        cbo_idmaximadistaciafuenteunidad.EditValue = obj_ensayo02.idmaximadistaciafuenteunidad
        txt_hiloagujaesencial.Text = obj_ensayo02.hiloagujaesencial
        txt_peliculasporfunda.Text = obj_ensayo02.peliculasporfunda
        cbo_idnormaensayo.EditValue = obj_ensayo02.idnormaensayo
        cbo_idcriterioaceptacion.EditValue = obj_ensayo02.idcriterioaceptacion

        cbo_iddiametrounidad.EditValue = obj_ensayo02.iddiametrounidad
        txt_notas.Text = obj_ensayo02.observaciones

        cbo_idproceso1.EditValue = obj_ensayo02.idproceso1
        If Not IsNothing(obj_ensayo02.proceso1) Then
            gdv_detalle_.Columns("proceso1").Caption = obj_ensayo02.proceso1.ToString
        End If
        cbo_idproceso2.EditValue = obj_ensayo02.idproceso2
        If Not IsNothing(obj_ensayo02.proceso2) Then
            gdv_detalle_.Columns("proceso2").Caption = obj_ensayo02.proceso2.ToString
        End If
        cbo_idproceso3.EditValue = obj_ensayo02.idproceso3
        If Not IsNothing(obj_ensayo02.proceso3) Then
            gdv_detalle_.Columns("proceso3").Caption = obj_ensayo02.proceso3.ToString
        End If

        'txt_notas.Text = obj_ensayo02.notas

        dtp_fechaEvaluador.DateTime = obj_ensayo02.evaluadorfecha
        dtp_fechaInspector.DateTime = obj_ensayo02.inspectorfecha
        cbo_inspector.EditValue = obj_ensayo02.idinspector
        cbo_evaluador.EditValue = obj_ensayo02.idevaluador
        cbo_realizado.EditValue = obj_ensayo02.idusuariorealizado
        cbo_ingresado.EditValue = obj_ensayo02.idusuarioingresado


        dtt_detalle.Clear()
        gdv_detalle_.Tag.Clear()
        If Not IsNothing(obj_ensayo02.ensayo02detalle_) Then
            If Not IsNothing(obj_ensayo02.ensayo02detalle_.Items) Then
                For Each ensayo02detalle As cls_ensayo02detalle_ In obj_ensayo02.ensayo02detalle_.Items
                    agregarItem(ensayo02detalle)
                Next
            End If
        End If


        btn_Registro.Enabled = True

        'obj_ensayo02.localidad = Nothing
        Me.Show()

    End Sub

    Public Overrides Function ComprobarDatos() As Boolean

        If dtp_fecha.DateTime > dtp_fechaEvaluador.DateTime Then
            ErrManagerShow("Fecha invalida.", "La fecha de Evaluacion no puede ser menor a la fecha del documento", xtf_ErrManagerAlerta.errManagerImg.img_Advertencia, xtf_ErrManagerAlerta.errManagerBtn.btn_Aceptar)
            Return False
        End If
        If dtp_fecha.DateTime > dtp_fechaInspector.DateTime Then
            ErrManagerShow("Fecha invalida.", "La fecha de Inspección no puede ser menor a la fecha del documento", xtf_ErrManagerAlerta.errManagerImg.img_Advertencia, xtf_ErrManagerAlerta.errManagerBtn.btn_Aceptar)
            Return False
        End If

        If IsNothing(txt_hiloagujaesencial.Tag) Then
            ErrManagerShow("001045", Me)
            Return False
        End If

        Return True
    End Function

    Public Shadows Sub btn_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Guardar.Click
        If ComprobarDatos() Then

            'obj_ensayo02.idensayo02 = txt_ID.Text
            obj_ensayo02.numero = txt_informe.EditValue
            obj_ensayo02.fecha = dtp_fecha.DateTime
            obj_ensayo02.idcliente = cbo_cliente.EditValue
            obj_ensayo02.idobra = cbo_centrocostoorden.EditValue

            'obj_ensayo02.notas = txt_notas.Text
            obj_ensayo02.equipotipo = opt_equipotipo.SelectedIndex
            obj_ensayo02.idequipo = cbo_idequipo.EditValue
            obj_ensayo02.idmaterial = cbo_idmaterial.EditValue
            obj_ensayo02.iddiametro = cbo_iddiametro.EditValue
            obj_ensayo02.materialespesor = txt_materialespesor.Text
            obj_ensayo02.sobremonta = txt_sobremonta.Text
            obj_ensayo02.soldaduraespesor = txt_soldaduraespesor.Text
            obj_ensayo02.idmaterialespesorunidad = cbo_idmaterialespesorunidad.EditValue
            obj_ensayo02.idsobremontaunidad = cbo_idsobremontaunidad.EditValue
            obj_ensayo02.idsoldaduraespesorunidad = cbo_idsoldaduraespesorunidad.EditValue
            obj_ensayo02.idpelicula = cbo_idpelicula.EditValue
            obj_ensayo02.idfuente = cbo_idfuente.EditValue
            obj_ensayo02.actividadCI = txt_actividadCI.Text
            obj_ensayo02.idactividadCIunidad = cbo_idactividadCIunidad.EditValue
            obj_ensayo02.tamañofocal = txt_tamañofocal.Text
            obj_ensayo02.idtamañofocalunidad = cbo_idtamañofocalunidad.EditValue
            obj_ensayo02.pantallasdelanteras = txt_pantallasdelanteras.Text
            obj_ensayo02.idpantallasdelanterasunidad = cbo_idpantallasdelanterasunidad.EditValue
            obj_ensayo02.pantallastraseras = txt_pantallastraseras.Text
            obj_ensayo02.idpantallastraserasunidad = cbo_idpantallasdelanterasunidad.EditValue
            obj_ensayo02.idtecnicaempleada = cbo_idtecnicaempleada.EditValue
            obj_ensayo02.ubicacionICI = opt_ubicacionICI.SelectedIndex
            obj_ensayo02.idubicacionmarcadores = opt_ubicacionmarcadores.SelectedIndex
            obj_ensayo02.minimadistanciafuente = txt_minimadistanciafuente.Text
            obj_ensayo02.idminimadistanciafuenteunidad = cbo_idminimadistanciafuenteunidad.EditValue
            obj_ensayo02.maximadistaciafuente = txt_maximadistaciafuente.Text
            obj_ensayo02.idmaximadistaciafuenteunidad = cbo_idmaximadistaciafuenteunidad.EditValue
            obj_ensayo02.hiloagujaesencial = txt_hiloagujaesencial.Text
            obj_ensayo02.peliculasporfunda = txt_peliculasporfunda.Text
            obj_ensayo02.idnormaensayo = cbo_idnormaensayo.EditValue
            obj_ensayo02.idcriterioaceptacion = cbo_idcriterioaceptacion.EditValue
            obj_ensayo02.iddiametrounidad = cbo_iddiametrounidad.EditValue
            obj_ensayo02.observaciones = txt_notas.Text

            obj_ensayo02.idproceso1 = cbo_idproceso1.EditValue
            obj_ensayo02.idproceso2 = cbo_idproceso2.EditValue
            obj_ensayo02.idproceso3 = cbo_idproceso3.EditValue

            obj_ensayo02.evaluadorfecha = dtp_fechaEvaluador.DateTime
            obj_ensayo02.inspectorfecha = dtp_fechaInspector.DateTime
            obj_ensayo02.idinspector = cbo_inspector.EditValue
            obj_ensayo02.idevaluador = cbo_evaluador.EditValue
            obj_ensayo02.idusuariorealizado = cbo_realizado.EditValue
            obj_ensayo02.idusuarioingresado = cbo_ingresado.EditValue

            'Guardo ProveedorArticulo------------------------------------------------------
            If IsNothing(obj_ensayo02.ensayo02detalle_) Then
                obj_ensayo02.ensayo02detalle_ = New cls_ensayo02detalle_
            End If
            If IsNothing(obj_ensayo02.ensayo02detalle_.Items) Then
                obj_ensayo02.ensayo02detalle_.Items = New Collections.Generic.List(Of cls_ensayo02detalle_)
            End If
            obj_ensayo02.ensayo02detalle_.Items = New Collections.Generic.List(Of cls_ensayo02detalle_)
            For Each Elemento As DataRow In dtt_detalle.Rows
                obj_ensayo02.ensayo02detalle_.Items.Add(Elemento("Objeto"))
            Next
            For Each Elemento As cls_ensayo02detalle_ In gdv_detalle_.Tag
                If Elemento.idensayo02detalle <> 0 Then
                    Elemento.Eliminar(Elemento.idensayo02detalle)
                End If
            Next
            '---------------------------------------------------------------------

            If txt_ID.Text = "" Then
                obj_ensayo02.Nuevo(True)
                If frm_listado.Visible Then
                    ulg_row = CType(frm_listado, xtf_LISTADOensayo02_).AgregarItem(obj_ensayo02)
                End If
                Modificar(obj_ensayo02, frm_listado, ulg_row)
            Else
                obj_ensayo02.Modificar()
                If frm_listado.Visible Then
                    CType(frm_listado, xtf_LISTADOensayo02_).ModificarItem(obj_ensayo02, ulg_row)
                End If
                Modificar(obj_ensayo02, frm_listado, ulg_row)
            End If
            flg_Modificado = False : btn_Guardar.Enabled = False : bbi_guardar.Enabled = False
        End If
    End Sub

    Private Sub btn_Registro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Registro.Click
        If Not IsNothing(obj_ensayo02.registro) Then
            Dim ABMRegistro As New xtf_ABMRegistro(obj_ensayo02.registro)
            If ABMRegistro.ShowDialog() = Windows.Forms.DialogResult.OK Then
                flg_Modificado = True
            End If
        End If
    End Sub


    Private Sub btn_Cerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Cerrar.Click
        If flg_Modificado Then
            bol_comprobarCerrado = False
            Select Case ErrManagerShow("000001", Me)
                Case Windows.Forms.DialogResult.Yes
                    If ComprobarDatos() Then
                        btn_Guardar_Click(Nothing, Nothing)
                    Else
                        Exit Sub
                    End If
                Case Windows.Forms.DialogResult.Cancel : bol_comprobarCerrado = True
                    Exit Sub
            End Select
        End If
        Me.Dispose()
    End Sub

    Private Sub cbo_centrocostoorden_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbo_centrocostoorden.EditValueChanged
        Cargarequipo_()
        Dim obra As New cls_centrocostoorden_
        If obra.Buscar(cbo_centrocostoorden.EditValue) Then
            cbo_cliente.EditValue = obra.idcliente
        Else
            cbo_cliente.EditValue = Nothing
        End If
    End Sub

    Private Function generarReporte() As xtr_REPORTEensayo01
        'Dim report As New xtr_REPORTEensayo02
        'report.lbl_numero.Text = "Informe: " & txt_informe.Text
        'report.lbl_fecha.Text = "Fecha: " & Format(dtp_fecha.DateTime, "dd/MM/yyyy")
        'report.lbl_cliente.Text = cbo_cliente.Text
        'report.lbl_centrocostoorden.Text = cbo_centrocostoorden.Text
        'report.lbl_equipo.Text = cbo_equipo.Text
        'report.lbl_componenteensayar.Text = cbo_componenteensayar.Text
        'report.lbl_identificacion.Text = txt_identificacion.Text
        'report.lbl_procedimiento.Text = txt_procedimiento.Text
        'report.lbl_norma.Text = cbo_norma.Text
        'report.lbl_criterio.Text = cbo_criterio.Text
        'report.lbl_condicionsuperficial.Text = cbo_condicionsuperficial.Text
        'report.lbl_limpieza.Text = cbo_limpieza.Text
        'report.lbl_magnetizaciontecnica.Text = cbo_magnetizaciontecnica.Text
        'report.lbl_magnetizacioncorriente.Text = cbo_magnetizacioncorriente.Text
        'report.lbl_magnetizacionequipo.Text = cbo_magnetizacionequipo.Text
        'report.lbl_particulatipo.Text = cbo_particulatipo.Text
        'report.lbl_color.Text = cbo_color.Text
        'report.lbl_marca.Text = cbo_marca.Text
        'report.lbl_aplicacion.Text = cbo_aplicacion.Text
        'report.lbl_tipoiluminacion.Text = cbo_iluminaciontipo.Text
        'report.pic_croquis.Image = pic_croquis.Image
        'report.lbl_croquisnotas.Text = txt_croquisnotas.Text
        'report.lbl_notas.Text = txt_notas.Text

        'report.lbl_fechainspector.Text = "Fecha: " & Format(dtp_fechaInspector.DateTime, "dd/MM/yyyy")
        'report.lbl_fechaevaluador.Text = "Fecha: " & Format(dtp_fechaEvaluador.DateTime, "dd/MM/yyyy")
        'report.lbl_inspector.Text = cbo_inspector.Text
        'report.lbl_evaluador.Text = cbo_evaluador.Text

        'Dim ensayosubtipo As New cls_ensayosubtipo_
        'If ensayosubtipo.BuscarXidmodulo("001062001") Then
        '    report.lbl_nombreinforme.Text = ensayosubtipo.nombreinforme
        'End If

        'If System.IO.File.Exists(config_empresa.logochico) Then
        '    Dim logoempresa As Image = Image.FromFile(config_empresa.logochico)
        '    report.pic_empresaLogo.Image = logoempresa
        'End If

        'Select Case opt_informeestado.SelectedIndex
        '    Case 0
        '        report.shp_aceptado.FillColor = Color.Black
        '    Case 1
        '        report.shp_observado.FillColor = Color.Black
        '    Case 2
        '        report.shp_rechazado.FillColor = Color.Black
        'End Select
        'Return report
    End Function

    Public Overrides Sub bbi_imprimir_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs)
        generarReporte.ShowPreview()
    End Sub

    Private Sub bbi_pdf_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbi_pdf.ItemClick
        Dim dialog As New SaveFileDialog
        dialog.Filter = "Documento PDF(*.pdf)|*.pdf"
        Dim ensayosubtipo As New cls_ensayosubtipo_
        If ensayosubtipo.BuscarXidmodulo("001062001") Then
            dialog.FileName = ensayosubtipo.nombreinforme
        End If
        If dialog.ShowDialog = Windows.Forms.DialogResult.OK Then
            generarReporte.ExportToPdf(dialog.FileName)
        End If
    End Sub
    Private Function Transform(ByVal g As Graphics, ByVal degree As Integer, ByVal r As Rectangle) As Rectangle
        g.RotateTransform(degree)
        Dim cos As Single = CSng(Math.Round(Math.Cos(degree * (Math.PI / 180)), 2))
        Dim sin As Single = CSng(Math.Round(Math.Sin(degree * (Math.PI / 180)), 2))
        Dim r1 As Rectangle = r
        r1.X = CInt(Fix(r.X * cos + r.Y * sin))
        r1.Y = CInt(Fix(r.X * (-sin) + r.Y * cos))
        r1.Offset(7, 0)
        Return r1
    End Function

    Private Sub gdv_detalle__CustomDrawColumnHeader(ByVal sender As Object, ByVal e As DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs) Handles gdv_detalle_.CustomDrawColumnHeader
        If e.Column.Name <> "colnumerosoldadura" And e.Column.Name <> "colubicaciondefectos" Then
            Dim r As Rectangle = e.Info.CaptionRect
            e.Info.Caption = ""
            e.Painter.DrawObject(e.Info)
            If Not e.Column Is Nothing Then
                Dim state As System.Drawing.Drawing2D.GraphicsState = e.Graphics.Save()
                Dim sf As StringFormat = New StringFormat()
                sf.Trimming = StringTrimming.EllipsisCharacter
                'sf.FormatFlags = sf.FormatFlags Or StringFormatFlags.NoWrap
                sf.FormatFlags = sf.FormatFlags Or StringFormatFlags.DirectionVertical
                sf.Alignment = StringAlignment.Center
                'r = Transform(e.Graphics, -90, r)
                e.Graphics.DrawString(e.Column.Caption, e.Appearance.Font, e.Appearance.GetForeBrush(e.Cache), r, sf)
                e.Graphics.Restore(state)
            End If
            e.Handled = True
        End If

    End Sub



#Region "Proveedor Articulos"

    Private Sub tsb_ArticuloNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_detalleNuevo.Click
        Dim ABMensayo02detalle As New xtf_ABMensayo02detalle(cbo_idproceso1.EditValue, cbo_idproceso2.EditValue, cbo_idproceso3.EditValue)
        If ABMensayo02detalle.ShowDialog = Windows.Forms.DialogResult.OK Then
            gdv_detalle_.BeginDataUpdate()
            agregarItem(ABMensayo02detalle.obj_ensayo02detalle)
            gdv_detalle_.EndDataUpdate()
        End If
    End Sub

    Private Sub agregarItem(ByRef obj_ensayo02detalle As cls_ensayo02detalle_)
        Dim Item As DataRow = dtt_detalle.NewRow
        Item("ubicaciondefectos") = obj_ensayo02detalle.ubicaciondefectos
        Item("numerosoldadura") = obj_ensayo02detalle.numerosoldadura
        Item("reparacion") = obj_ensayo02detalle.referencia
        Item("posicion") = obj_ensayo02detalle.posicion
        'Item("proceso1", GetType(String))
        'Item("proceso2", GetType(String))
        'Item("proceso3", GetType(String))
        If obj_ensayo02detalle.porosidad1 <> 0 Or obj_ensayo02detalle.porosidad2 <> 0 Or obj_ensayo02detalle.porosidad3 <> 0 Then
            Item("porosidad") = True
        Else
            Item("porosidad") = False
        End If
        If obj_ensayo02detalle.inclusionescoria1 <> 0 Or obj_ensayo02detalle.inclusionescoria2 <> 0 Or obj_ensayo02detalle.inclusionescoria3 <> 0 Then
            Item("inclusionescoria") = True
        Else
            Item("inclusionescoria") = False
        End If
        If obj_ensayo02detalle.inclusiontungsteno1 <> 0 Or obj_ensayo02detalle.inclusiontungsteno2 <> 0 Or obj_ensayo02detalle.inclusiontungsteno3 <> 0 Then
            Item("inclusiontungsteno") = True
        Else
            Item("inclusiontungsteno") = False
        End If
        If obj_ensayo02detalle.faltapenetracion1 <> 0 Or obj_ensayo02detalle.faltapenetracion2 <> 0 Or obj_ensayo02detalle.faltapenetracion3 <> 0 Then
            Item("faltapenetracion") = True
        Else
            Item("faltapenetracion") = False
        End If
        If obj_ensayo02detalle.faltafusion1 <> 0 Or obj_ensayo02detalle.faltafusion2 <> 0 Or obj_ensayo02detalle.faltafusion3 <> 0 Then
            Item("faltafusion") = True
        Else
            Item("faltafusion") = False
        End If
        If obj_ensayo02detalle.socavacion1 <> 0 Or obj_ensayo02detalle.socavacion2 <> 0 Or obj_ensayo02detalle.socavacion3 <> 0 Then
            Item("socavacion") = True
        Else
            Item("socavacion") = False
        End If
        If obj_ensayo02detalle.concavidad1 <> 0 Or obj_ensayo02detalle.concavidad2 <> 0 Or obj_ensayo02detalle.concavidad3 <> 0 Then
            Item("concavidad") = True
        Else
            Item("concavidad") = False
        End If
        If obj_ensayo02detalle.protuberanciainterna1 <> 0 Or obj_ensayo02detalle.protuberanciainterna2 <> 0 Or obj_ensayo02detalle.protuberanciainterna3 <> 0 Then
            Item("protuberanciainterna") = True
        Else
            Item("protuberanciainterna") = False
        End If
        If obj_ensayo02detalle.deslineacion1 <> 0 Or obj_ensayo02detalle.deslineacion2 <> 0 Or obj_ensayo02detalle.deslineacion3 <> 0 Then
            Item("deslineacion") = True
        Else
            Item("deslineacion") = False
        End If
        If obj_ensayo02detalle.fisuras1 <> 0 Or obj_ensayo02detalle.fisuras2 <> 0 Or obj_ensayo02detalle.fisuras3 <> 0 Then
            Item("fisuras") = True
        Else
            Item("fisuras") = False
        End If
        If obj_ensayo02detalle.peliculadefectuosa1 <> 0 Or obj_ensayo02detalle.peliculadefectuosa2 <> 0 Or obj_ensayo02detalle.peliculadefectuosa3 <> 0 Then
            Item("peliculadefectuosa") = True
        Else
            Item("peliculadefectuosa") = False
        End If

        Item("resultado") = obj_ensayo02detalle.idresultado
        Item("ubicaciondefectos") = obj_ensayo02detalle.ubicaciondefectos
        Item("referencia") = obj_ensayo02detalle.referencia

        Item("Objeto") = obj_ensayo02detalle
        dtt_detalle.Rows.Add(Item)
    End Sub
    '(4880-1080)

    Private Sub gridView1_DoubleClick(ByVal sender As Object, ByVal e As EventArgs) Handles gdv_detalle_.DoubleClick
        Dim view As DevExpress.XtraGrid.Views.Grid.GridView = CType(sender, DevExpress.XtraGrid.Views.Grid.GridView)
        Dim pt As Point = view.GridControl.PointToClient(Control.MousePosition)
        DoRowDoubleClick(view, pt)
    End Sub

    Public Overridable Sub DoRowDoubleClick(ByVal view As DevExpress.XtraGrid.Views.Grid.GridView, ByVal pt As Point)
        Dim info As DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo = view.CalcHitInfo(pt)
        If info.InRow OrElse info.InRowCell Then
            Dim colCaption As String
            If info.Column Is Nothing Then
                colCaption = "N/A"
            Else
                colCaption = info.Column.GetCaption()
            End If
            tsb_detalleModificar.PerformClick()
        End If
    End Sub

    Private Sub tsb_ArticulosModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_detalleModificar.Click
        If gdv_detalle_.SelectedRowsCount > 0 Then
            Dim ABMensayo02detalle As New xtf_ABMensayo02detalle(cbo_idproceso1.EditValue, cbo_idproceso2.EditValue, cbo_idproceso3.EditValue)
            ABMensayo02detalle.Modificar(gdv_detalle_.GetDataRow(gdv_detalle_.GetSelectedRows(0))("Objeto"))
            If ABMensayo02detalle.ShowDialog = Windows.Forms.DialogResult.OK Then
                gdv_detalle_.BeginDataUpdate()
                Dim Item As DataRow = gdv_detalle_.GetDataRow(gdv_detalle_.GetSelectedRows(0))
                Item("ubicaciondefectos") = ABMensayo02detalle.obj_ensayo02detalle.ubicaciondefectos
                Item("numerosoldadura") = ABMensayo02detalle.obj_ensayo02detalle.numerosoldadura
                Item("reparacion") = ABMensayo02detalle.obj_ensayo02detalle.referencia
                Item("posicion") = ABMensayo02detalle.obj_ensayo02detalle.posicion
                'Item("proceso1", GetType(String))
                'Item("proceso2", GetType(String))
                'Item("proceso3", GetType(String))
                If ABMensayo02detalle.obj_ensayo02detalle.porosidad1 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.porosidad2 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.porosidad3 <> 0 Then
                    Item("porosidad") = True
                Else
                    Item("porosidad") = False
                End If
                If ABMensayo02detalle.obj_ensayo02detalle.inclusionescoria1 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.inclusionescoria2 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.inclusionescoria3 <> 0 Then
                    Item("inclusionescoria") = True
                Else
                    Item("inclusionescoria") = False
                End If
                If ABMensayo02detalle.obj_ensayo02detalle.inclusiontungsteno1 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.inclusiontungsteno2 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.inclusiontungsteno3 <> 0 Then
                    Item("inclusiontungsteno") = True
                Else
                    Item("inclusiontungsteno") = False
                End If
                If ABMensayo02detalle.obj_ensayo02detalle.faltapenetracion1 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.faltapenetracion2 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.faltapenetracion3 <> 0 Then
                    Item("faltapenetracion") = True
                Else
                    Item("faltapenetracion") = False
                End If
                If ABMensayo02detalle.obj_ensayo02detalle.faltafusion1 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.faltafusion2 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.faltafusion3 <> 0 Then
                    Item("faltafusion") = True
                Else
                    Item("faltafusion") = False
                End If
                If ABMensayo02detalle.obj_ensayo02detalle.socavacion1 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.socavacion2 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.socavacion3 <> 0 Then
                    Item("socavacion") = True
                Else
                    Item("socavacion") = False
                End If
                If ABMensayo02detalle.obj_ensayo02detalle.concavidad1 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.concavidad2 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.concavidad3 <> 0 Then
                    Item("concavidad") = True
                Else
                    Item("concavidad") = False
                End If
                If ABMensayo02detalle.obj_ensayo02detalle.protuberanciainterna1 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.protuberanciainterna2 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.protuberanciainterna3 <> 0 Then
                    Item("protuberanciainterna") = True
                Else
                    Item("protuberanciainterna") = False
                End If
                If ABMensayo02detalle.obj_ensayo02detalle.deslineacion1 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.deslineacion2 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.deslineacion3 <> 0 Then
                    Item("deslineacion") = True
                Else
                    Item("deslineacion") = False
                End If
                If ABMensayo02detalle.obj_ensayo02detalle.fisuras1 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.fisuras2 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.fisuras3 <> 0 Then
                    Item("fisuras") = True
                Else
                    Item("fisuras") = False
                End If
                If ABMensayo02detalle.obj_ensayo02detalle.peliculadefectuosa1 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.peliculadefectuosa2 <> 0 Or ABMensayo02detalle.obj_ensayo02detalle.peliculadefectuosa3 <> 0 Then
                    Item("peliculadefectuosa") = True
                Else
                    Item("peliculadefectuosa") = False
                End If

                Item("resultado") = ABMensayo02detalle.obj_ensayo02detalle.idresultado
                Item("ubicaciondefectos") = ABMensayo02detalle.obj_ensayo02detalle.ubicaciondefectos
                Item("referencia") = ABMensayo02detalle.obj_ensayo02detalle.referencia

                Item("Objeto") = ABMensayo02detalle.obj_ensayo02detalle

                gdv_detalle_.EndDataUpdate()
            End If
        End If
    End Sub

    Private Sub tsb_ArticuloEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_detalleEliminar.Click
        If gdv_detalle_.SelectedRowsCount > 0 Then
            gdv_detalle_.BeginDataUpdate()
            gdv_detalle_.Tag.add(gdv_detalle_.GetDataRow(gdv_detalle_.GetSelectedRows(0))("Objeto"))
            dtt_detalle.Rows.Remove(gdv_detalle_.GetDataRow(gdv_detalle_.GetSelectedRows(0)))
            gdv_detalle_.EndDataUpdate()
        End If
    End Sub
#End Region

    Private Sub cbo_idproceso1_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbo_idproceso1.EditValueChanged
        If cbo_idproceso1.EditValue <> 0 Then
            tsb_detalleNuevo.Enabled = True
            cbo_idproceso2.Enabled = True
        Else
            tsb_detalleNuevo.Enabled = False
            cbo_idproceso2.EditValue = Nothing
            cbo_idproceso3.EditValue = Nothing
            cbo_idproceso2.Enabled = False
            cbo_idproceso3.Enabled = False
        End If
    End Sub

    Private Sub cbo_idproceso2_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbo_idproceso2.EditValueChanged
        If cbo_idproceso2.EditValue <> 0 Then
            cbo_idproceso3.Enabled = True
        Else
            cbo_idproceso3.EditValue = Nothing
            cbo_idproceso3.Enabled = False
        End If
    End Sub

    Private Sub cbo_idproceso1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles cbo_idproceso1.Validating
        If cbo_idproceso1.EditValue <> 0 Then
            If cbo_idproceso1.EditValue = cbo_idproceso2.EditValue Or cbo_idproceso1.EditValue = cbo_idproceso3.EditValue Then
                e.Cancel = True
            End If
        End If
        If e.Cancel Then
            gdv_detalle_.Columns("proceso1").Caption = ""
        Else
            gdv_detalle_.Columns("proceso1").Caption = cbo_idproceso1.Text
        End If
    End Sub

    Private Sub cbo_idproceso2_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles cbo_idproceso2.Validating
        If cbo_idproceso2.EditValue <> 0 Then
            If cbo_idproceso2.EditValue = cbo_idproceso1.EditValue Or cbo_idproceso2.EditValue = cbo_idproceso3.EditValue Then
                e.Cancel = True
            End If
        End If
        If e.Cancel Then
            gdv_detalle_.Columns("proceso2").Caption = ""
        Else
            gdv_detalle_.Columns("proceso2").Caption = cbo_idproceso2.Text
        End If
    End Sub

    Private Sub cbo_idproceso3_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles cbo_idproceso3.Validating
        If cbo_idproceso3.EditValue <> 0 Then
            If cbo_idproceso3.EditValue = cbo_idproceso2.EditValue Or cbo_idproceso3.EditValue = cbo_idproceso1.EditValue Then
                e.Cancel = True
            End If
        End If
        If e.Cancel Then
            gdv_detalle_.Columns("proceso3").Caption = ""
        Else
            gdv_detalle_.Columns("proceso3").Caption = cbo_idproceso3.Text
        End If
    End Sub

    Private Sub xtf_ListadoBase_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        guardar_config_usuariocolumna_(gdv_detalle_)
    End Sub

    Private Sub guardar_config_usuariocolumna_(ByRef prm_GridView As DevExpress.XtraGrid.Views.Grid.GridView)
        Dim obj_config_usuariocolumna_ As New cls_config_usuariocolumna_
        If obj_config_usuariocolumna_.Buscarxidusuarioxmodulo(UsuarioLOG.idusuario, Me.Name & prm_GridView.Name) Then
            obj_config_usuariocolumna_.xml = GetLayoutData(prm_GridView)
            obj_config_usuariocolumna_.Modificar()
        Else
            obj_config_usuariocolumna_.xml = GetLayoutData(prm_GridView)
            obj_config_usuariocolumna_.idusuario = UsuarioLOG.idusuario
            obj_config_usuariocolumna_.modulo = Me.Name & prm_GridView.Name
            obj_config_usuariocolumna_.Nuevo()
        End If
    End Sub

    Private Function GetLayoutData(ByRef prm_GridView As DevExpress.XtraGrid.Views.Grid.GridView) As Byte()
        Dim stream As New System.IO.MemoryStream()
        prm_GridView.SaveLayoutToStream(stream)
        Return stream.GetBuffer()
    End Function

    Private Sub SetLayoutData(ByRef prm_GridView As DevExpress.XtraGrid.Views.Grid.GridView, ByVal data As Byte())
        If data Is Nothing OrElse data.Length = 0 Then
            Return
        End If
        Dim stream As New System.IO.MemoryStream(data)
        Try
            prm_GridView.RestoreLayoutFromStream(stream)
            Dim config_parametro As New cls_config_parametro_
            prm_GridView.OptionsView.ColumnAutoWidth = config_parametro.Buscar("grillaAutoWidth").valor
        Catch ex As Exception
            Throw New Exception("Wrong data format", ex)
        End Try
    End Sub

    Public Sub FiltrarColumnas(ByRef prm_GridView As DevExpress.XtraGrid.Views.Grid.GridView)
        Dim int_IDUsuario As Integer = UsuarioLOG.idusuario
        Dim obj_config_usuariocolumna_ As New cls_config_usuariocolumna_
        prm_GridView.BeginUpdate()
        If obj_config_usuariocolumna_.Buscarxidusuarioxmodulo(int_IDUsuario, Me.Name & prm_GridView.Name) Then
            SetLayoutData(prm_GridView, obj_config_usuariocolumna_.xml)
        End If
        prm_GridView.EndUpdate()
    End Sub

    Private Sub opt_equipotipo_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles opt_equipotipo.SelectedIndexChanged
        Select Case opt_equipotipo.SelectedIndex
            Case 0 'Equipo
                Cargarequipo_()
            Case 1 'Area
                Cargararea_()
        End Select
    End Sub

    Private Sub cbo_idsoldaduraespesorunidad_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbo_idsoldaduraespesorunidad.EditValueChanged

    End Sub



    Private Sub cbo_idmaterialespesorunidad_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbo_idmaterialespesorunidad.EditValueChanged
        cbo_idsobremontaunidad.EditValue = cbo_idmaterialespesorunidad.EditValue
        cbo_idsoldaduraespesorunidad.EditValue = cbo_idmaterialespesorunidad.EditValue
    End Sub

    Private Sub opt_obra_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles opt_obra.SelectedIndexChanged
        Cargarcentrocostoorden_()
    End Sub

    Private Sub gdv_detalle__FocusedRowChanged(ByVal sender As Object, ByVal e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles gdv_detalle_.FocusedRowChanged
        Dim view As DevExpress.XtraGrid.Views.Grid.GridView = CType(sender, DevExpress.XtraGrid.Views.Grid.GridView)
        If view.SelectedRowsCount > 0 Then
            tsb_detalleModificar.Enabled = True
            tsb_detalleEliminar.Enabled = True
        Else
            tsb_detalleModificar.Enabled = False
            tsb_detalleEliminar.Enabled = False
        End If
    End Sub

    Private Sub txt_materialespesor_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_materialespesor.EditValueChanged
        If Me.Visible Then
            txt_soldaduraespesor.Text = CDec(txt_materialespesor.Text) + CDec(txt_sobremonta.Text)
        End If
    End Sub

    Private Sub txt_sobremonta_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_sobremonta.EditValueChanged
        If Me.Visible Then
            txt_soldaduraespesor.Text = CDec(txt_materialespesor.Text) + CDec(txt_sobremonta.Text)
        End If
    End Sub

    Private Sub txt_soldaduraespesor_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_soldaduraespesor.EditValueChanged
        cargarHiloAguja()
    End Sub

    Private Sub cargarHiloAguja()
        If Me.Visible Then
            Dim hae As New cls_hiloagujaesencial_
            If hae.CargarXespesorsoldadura(txt_soldaduraespesor.Text) Then
                If opt_ubicacionICI.SelectedIndex = 0 Then
                    txt_hiloagujaesencial.Text = hae.Items(0).ladofuente
                Else
                    txt_hiloagujaesencial.Text = hae.Items(0).ladopelicula
                End If
                txt_hiloagujaesencial.Tag = hae.Items(0)
            Else
                txt_hiloagujaesencial.Tag = Nothing
            End If
        End If

    End Sub

    Private Sub opt_ubicacionICI_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles opt_ubicacionICI.SelectedIndexChanged
        cargarHiloAguja()
    End Sub
End Class